package com.myhouse.util;

import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;


public interface MyMapper<T> extends Mapper<T>, MySqlMapper<T> {
    //特别注意，该接口不能被扫描到，否则会出错
}


/*
1. mappers 参数导致的各种错误
常见症状：
Error invoking SqlProvider method (tk.mybatis.mapper.provider.SpecialProvider.dynamicSQL)
java.lang.NoSuchMethodException: tk.mybatis.mapper.provider.SpecialProvider.<init>()
出现这个问题的原因是因为你用到了 tk.mybatis.mapper.common.Mapper<T> 之外的其他接口，例如:
MySqlMapper
SqlServerMapper
InsertListMapper
InsertUseGeneratedKeysMapper
当你没有配置 mappers 参数的时候，通用 Mapper 只会解析 tk.mybatis.mapper.common.Mapper<T>中提供的方法，所以你使用不包含在内的其他方法时就会报错。
通常在使用接口时，都会创建自己的 MyMapper<T> 接口
然后在配置文件里指定： 
mapper.mappers=com.myhouse.util.MyMapper
*/